package com.yyj.util;

import com.alibaba.fastjson.JSONArray;
import org.apache.commons.lang3.StringUtils;

import java.util.Collection;
import java.util.Map;

/**
 * @author chenxingming <13019562@qq.com>
 */
public class CheckIsNullOrEmptyUtil {
	public static boolean isNullOrEmpty(Object obj) {
		if (obj == null || (("").equals(obj)) || (StringUtils.isBlank(obj.toString()))) {
			return true;
		}
		if (obj instanceof JSONArray) {
			return ((JSONArray) obj).isEmpty();
		}
		if (obj instanceof CharSequence) {
			return StringUtils.isBlank((CharSequence) obj);
		}

		if (obj instanceof Collection) {
			return ((Collection<?>) obj).isEmpty();
		}

		if (obj instanceof Map) {
			return ((Map<?, ?>) obj).isEmpty();
		}
//		if (obj instanceof Object[] object) {
//			if (object.length == 0) {
//				return true;
//			}
//			boolean empty = true;
//			for (Object o : object) {
//				if (!isNullOrEmpty(o)) {
//					empty = false;
//					break;
//				}
//			}
//			return empty;
//		}
		return false;
	}

	public static boolean isNotNullOrEmpty(Object obj) {
		return !isNullOrEmpty(obj);
	}
}
